Storage systems may be implemented in electronic systems, such as computers, cell phones, hand-held electronic devices, etc. Some storage systems, such as solid state drives (SSDs), embedded Multi-Media Controller (eMMC) devices, Universal Flash Storage (UFS) devices, and the like may include non-volatile storage memories for storing user data from a host. Non-volatile storage memories provide persistent data by retaining stored data when not powered and may include NAND flash memory, NOR flash memory, read only memory (ROM), Electrically Erasable Programmable ROM (EEPROM), Erasable Programmable ROM (EPROM), and resistance variable memory such as phase change random access memory (PCRAM), resistive random access memory (RRAM), ferroelectric random access memory (FeRAM), magnetoresistive random access memory (MRAM), and programmable conductive memory, among other types of memory.
Non-volatile memory cells can be programmed to a desired state, such as to one of multiple states. A memory cell programmed as a single level cell (SLC) can store one of two binary states (e.g., 1 or 0). A memory cell programmed as a multi-level cell (MLC) can store more than two binary states. For example, a quad-level cell can be programmed to store one of 16 states, such as 1111, 0111, 0011, 1011, 1001, 0001, 0101, 1101, 1100, 0100, 0000, 1000, 1010, 0010, 0110, and 1110. The states can correspond to different threshold voltage (Vt) distributions that are separated from each other by Vt margins, such as sensing (e.g., read) margins. For example, a state can be sensed (e.g., read) using a sensing voltage that can be selected to lie within a Vt margin.